from Usuario import *
from Clientes import *
from EntradadeDados import *
import os

def criarArquivo (arquivo):  # ok
     ''' se não existir arquivos, os mesmos serão criados '''
     if os.path.exists (arquivo) == False:
          novo = open (arquivo +'.txt', 'a')
          novo.close ()
          
lista = ['Funcionarios', 'Gerente', 'Clientes']
for arquivo in lista:
     criarArquivo (arquivo)

entrada = EntradadeDados()
cadastro_cliente = CadastroClientes ()

while (1):
     print ('\n\nSistema de Gerenciamento de Pontos dos Parques Games Stations\n')
     print ('\nMENU PRINCIPAL:')
     print ('1 - Acesso ao funcionario')#  o logon não ta ok
     print ('2 - Acesso ao gerente')  #   o logon  não ta ok
     print ('3 - Cadastrar gerente') # ok
     print ('0 - Finalizar o sistema\n') # ok
     opcao = input ('\nDigite sua opção: ')



     if opcao == '1':
##          ''' acesso ao funcionario '''
##          cpf = input ('\nCpf:')
##          senha = input ('Senha:')
##          funcionario = Funcionario (cpf [0], senha [1])
##
##          if funcionario.checarUsuario ('Funcionarios.txt') != True:
##               ''' chama a função checar usuario '''
##               print ('\nUsuário inválido!')
##               continue
##          
##          else:

               while 1:
                    print ('\nACESSO AO FUNCIONARIO:      ')
                    print ('1 - Cadastrar clientes')         # ok
                    print ('2 - Alterar Cadastro de cliente')
                    print ('3 - Excluir Cadastro de cliente')
                    print ('4 - Pesqusa Cliente')
                    print('5 - Imprimir relatorio de Cliente')
                    print ('0 - Sair\n              ')
                    op = input ('\nDigite sua opção: ')

                    if op == '1':
                         dados_cliente = entrada.entradasAdicionarCliente ()
                         cadastro_cliente.adicionarCliente (dados_cliente [0], dados_cliente [1],dados_cliente [2], dados_cliente [3])
                         continue

                    elif op == '2':
                         pass

                    elif op == '3':
                         pass
                    

                    elif op == '4':
                         pass
                    
                    elif op == '5':
                         pass
                    
                    elif op =='6':
                         pass
                    
                    elif op == '0':                                     
                         print ('\nSaindo...\n')
                         break                  

               else:                                                                 
                    print ('\nOpção inválida!\n')
                    continue                      



     elif opcao == '2':
##          ''' acesso ao gerente '''
##          cpf = input ('\nCpf: ')
##          senha = input ('Senha: ')
##
##          gerente = Gerente (cpf [0], senha [1])
##          
##          if gerente.checarUsuario ('Gerente.txt') != True:
##               print ('\nOpção inválida!\n')
##               continue
##          else:
               while 1:
               
                    print ('\nACESSO AO GERENTE:')
                    print ('1 - Para cadastro de funcionarios')# ok
                    print ('2 - Alterar Senha do gerente')   # erro
                    print ('3 - Remover Conta do gerente')   # erro
                    print ('0 - Sair\n')    # ok                            

                    op = input ('\nDigite sua opção: ')   
                    if op == '1':                                                                       
                         cadastro_funcionario = CadastroFuncionarios ()
                         while 1:
                              print ('1 - Adicionar um funcionario')  # ok
                              print ('2 - Alterar Senha do funcionario') # erro
                              print ('0 - Sair\n') # ok
                              escolha = input ('\nDigite sua escolha:')   
                                   
                              if escolha == '1':                                                   
                                   dados_funcionario = entrada.entradasAdicionarFuncionario ()
                                   cadastro_funcionario.adicionarFuncionario (dados_funcionario [0], dados_funcionario [1])
                                   continue

                              elif escolha == '2':
                                   logon=entrada.logon()
                                   entrada_valida = False
                                   while entrada_valida == False:
                                        senhas = entrada.entradaAlterarSenha ()
                                        if senhas [0] == logon [1]:
                                             entrada_valida = CadastroFuncionarios ().alterarSenha (senhas [0], senhas [1])
                                        else:
                                             print ('\n Senha Incorreta!\n')

                                             break
                             

                              elif escolha == '0':                                   
                                   print ('\nSaindo...\n')
                                   break

                              else:                                                      
                                   print ('\nOpção inválida!\n')
                                   continue

                              
                    elif op == '2':
                         ''' gerente altera sua senha '''
                         entrada_valida = False
                         while entrada_valida == False:                                                          
                              senhas = entrada.entradaAlterarSenha ()
                              entrada_valida = CadastroGerente ().alterarSenha (senhas [0], senhas [1])


                    elif op == '3':
                         ''' gerente remove gerente '''
                         dados_gerente = entrada.Logon ()
                         CadastroGerente ().removerGerente (dados_gerente [0], dados_gerente [1])
                         break

                    elif op == '0':
                         ''' sai do acesso ao gerente '''
                         print ('\nSaindo...\n')
                         break

               else:                                                                                         
                    print ('\nOpção inválida!\n')
                    continue
                    

     elif opcao == '3':            
          ''' se não hover gerente, o mesmo será adicionado '''
          entrada=EntradadeDados()
          if os.path.exists ('Gerente.txt') == False:
               ''' se o txt não existir, será criado '''
               arquivo = open ('Gerente.txt', 'a')
               arquivo.close ()
                    
          if os.path.getsize('Gerente.txt')  == 0:
               ''' se não houver nada cadastrado, permiti cadastrar '''
               novogerente = CadastroGerente ()
               dados_gerente = entrada.entradaAdicionarGerente ()
               novogerente.adicionarGerente (dados_gerente [0], dados_gerente [1])
                    
          else:                                          
               print ('\nJá existe um gerente cadastrado!\n')
               

     elif opcao == '0':
          ''' finaliza o sistema ''' 
          print ('\nPrograma Finalizado\n')
          break

     else:                                                                               
          print ('\nOpção inválida!\n')
          continue



